Početno stanje
Definisanje početnog stanja poslovnih partnera za period maloprodaje.

Opis
Ova opcija omogućava unos i upravljanje početnim stanjem (saldom) poslovnih partnera na početku poslovnog perioda.
Funkcionalnosti
- Unos početnog stanja po poslovnom partneru
- Pregled i izmena unetih podataka
- Verifikacija stanja pre zatvaranja perioda
Namena forme
Forma PocetnoStanje služi za unos, pregled, izmenu, brisanje, pretragu, uvoz i štampu početnog stanja robe na određeni datum. Naslov forme prikazuje datum dokumenta: Početno stanje na dan dd.MM.yyyy
Osnovne mogućnosti
Forma omogućava:
- pregled svih stavki početnog stanja
- dodavanje nove stavke
- izmenu postojeće stavke
- brisanje pojedinačne stavke
- brisanje kompletnog popisa
- izbor robe iz šifrarnika
- pretragu po nazivu robe
- uvoz stavki iz JSON fajla
- promenu datuma početnog stanja
- osvežavanje prikaza
- pregled za štampu i štampanje
- zaključavanje / otključavanje dokumenta
Pokretanje i učitavanje
Prilikom otvaranja forme automatski se učitavaju:
- šifrarnik robe
- zaglavlje početnog stanja
- lista stavki početnog stanja
Ako je forma otvorena sa prosleđenim ID-jem stavke, automatski se pozicionira na tu stavku u tabeli.
Prikaz stavki
Stavke se prikazuju u DataGridView tabeli. Prilikom učitavanja:
- računa se ukupna nabavna vrednost
- računa se ukupna prodajna vrednost
- računa se ukupni RUC
- zbirni podaci se prikazuju u statusnoj liniji
Obojene stavke
Boja reda zavisi od vrednosti RUC:
- AntiqueWhite - ako je RUC
<= 0 - Aquamarine - ako je RUC
> 0
To omogućava brz vizuelni pregled problematičnih i pozitivnih stavki.
Dodavanje nove stavke
Prilikom dodavanja nove stavke sistem:
- automatski bira prvu robu tipa Roba
- postavlja količinu na 1
- preuzima maloprodajnu cenu robe
- povezuje stavku sa aktivnim zaglavljem dokumenta
Nakon izmene stavke:
- ako je nova stavka, upisuje se u bazu
- ako već postoji, radi se izmena postojeće stavke
Izmena stavke
Postojeća stavka može da se menja direktno u tabeli, ako dokument nije zaključan. Promene se automatski snimaju kada dođe do izmene stavke.
Izbor robe za stavku
Robu je moguće promeniti na dva načina:
- dupli klik na ćeliju kolone idRoba
- pritisak na F1 dok je fokus na koloni idRoba
Tada se otvara forma RobaForma, iz koje se bira nova roba za aktivnu stavku.
Brisanje pojedinačne stavke
Kod brisanja stavke sistem prikazuje potvrdu sa nazivom i šifrom robe. Ako korisnik potvrdi:
- stavka se briše iz baze
Ako korisnik odustane:
- lista se ponovo učitava
- tabela se osvežava
Brisanje kompletnog početnog stanja
Opcija brisanjeKompletnogPopisa briše sve stavke početnog stanja. Tok rada:
- prikazuje se poruka za potvrdu
- ako je potvrđeno, brišu se sve stavke
- lista se ponovo učitava
- tabela se osvežava
Ovu opciju treba koristiti oprezno.
Zaključavanje i otključavanje dokumenta
Forma podržava dva statusa dokumenta:
Otključano
Kada je dokument otključan:
- tabela je omogućena za izmenu
- dugme za brisanje je aktivno
- moguće je menjati stavke
Prikaz:
- dugme pokazuje Rasknjiži
Zaključano
Kada je dokument zaključan:
- tabela je ReadOnly
- brisanje je onemogućeno
- nije moguća izmena stavki
Prikaz:
- dugme pokazuje Otključaj
Pri zaključavanju se postavljaju i datumi:
- DatumKnjizenja
- DatumPrometaDobara
Uvoz iz JSON fajla
Opcija uvozIzJsona omogućava učitavanje početnog stanja iz JSON fajla.
Pravila uvoza
Za svaku stavku iz fajla:
- mora postojati SifraRobe
- roba mora postojati u šifrarniku
- ista roba ne sme već postojati u listi početnog stanja
- količina mora biti različita od 0
Ako šifra robe ne postoji, prikazuje se poruka:
- Nema šifre ...
Ako je sve ispravno:
- stavka se dodaje u bazu
- dodaje se u listu na formi
- prikaz se osvežava
Na kraju se prikazuje poruka da je početno stanje uspešno učitano.
Pretraga
Polje TraziToolStripTextBox služi za pretragu po nazivu robe. Način rada:
- pretraga traži robu čiji naziv sadrži uneti tekst
- zatim prikazuje samo stavke koje pripadaju pronađenoj robi
Opcija Trazi samo postavlja fokus na polje za pretragu.
Osvežavanje podataka
Dugme Osvezi:
- ponovo učitava listu stavki
- postavlja je kao izvor podataka
- osvežava prikaz tabele
Korisno je nakon većih izmena ili ako treba vratiti puni prikaz posle pretrage.
Promena datuma početnog stanja
Opcija promenaDatumaPočetnogStanja otvara formu za izbor novog datuma. Ako korisnik potvrdi:
- datum zaglavlja se snima
- naslov forme se ažurira
- prikaz se osvežava
Štampa
Forma podržava:
- otvaranje dijaloga za štampu
- pregled pre štampe
Kod pregleda štampe:
- koristi se format stranice A4
- resetuju se pomoćne vrednosti za obračun i numeraciju strana
Štampa koristi posebnu logiku kroz PocetnoStanjeStampa.Stampa(...).
Tastaturne prečice
Podržane prečice:
- F1 - izbor robe za aktivnu stavku u koloni idRoba
- Esc - zatvara formu, ali samo ako nije u toku editovanje ćelije ili reda
Ako je korisnik usred izmene podataka, Esc neće zatvoriti formu.
Važne napomene za rad
- Kada je dokument zaključan, nije moguća izmena stavki.
- Uvoz iz JSON fajla dodaje samo robu koja već postoji u šifrarniku.
- Pretraga filtrira prikaz, pa je po potrebi korisno koristiti Osveži.
- Brisanje kompletnog popisa je nepovratna operacija na nivou svih stavki dokumenta.
- Stavke sa lošim ili nultim RUC su vizuelno označene drugom bojom.